/**
 * 环境工具函数
 */

/**
 * 是否是开发环境
 */
export const isDev = () => import.meta.env.DEV;

/**
 * 是否是生产环境
 */
export const isProd = () => import.meta.env.PROD;

/**
 * 获取当前模式
 */
export const getMode = () => import.meta.env.MODE;

/**
 * 是否启用 Mock
 */
export const isMockEnabled = () => import.meta.env.VITE_ENABLE_MOCK === "true";

/**
 * 获取 API 基础 URL
 */
export const getApiBaseUrl = () => import.meta.env.VITE_API_BASE_URL;

/**
 * 获取所有Vite环境变量
 */
export const getAllEnvVars = () => {
  const vars: Record<string, string> = {};
  Object.keys(import.meta.env).forEach((key) => {
    vars[key] = import.meta.env[key] as string;
  });
  return vars;
};

/**
 * 检查是否为移动设备
 */
export const isMobileDevice = () => {
  const ua = navigator.userAgent;
  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
    ua
  );
};

/**
 * 检查是否在iOS设备上
 */
export const isIOS = () => {
  const ua = navigator.userAgent;
  return /iPhone|iPad|iPod/i.test(ua);
};

/**
 * 检查是否在Android设备上
 */
export const isAndroid = () => {
  const ua = navigator.userAgent;
  return /Android/i.test(ua);
};

/**
 * 获取浏览器名称
 */
export const getBrowserName = () => {
  const ua = navigator.userAgent;
  if (ua.indexOf("Edge") > -1) return "Edge";
  if (ua.indexOf("Edg") > -1) return "Edge Chromium";
  if (ua.indexOf("Chrome") > -1) return "Chrome";
  if (ua.indexOf("Safari") > -1) return "Safari";
  if (ua.indexOf("Firefox") > -1) return "Firefox";
  if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1)
    return "Internet Explorer";
  return "Unknown";
};
